A Local Area Network (LAN) typically consists of a number of stations, computers and peripherals that are connected together via a cabled network in order to exchange data. The manner in which the exchange of data takes place depends on the network access protocol used by the LAN. At present, the most common network access protocols include token passing, carrier sense-multiple access with collision detection (CSMA/CD) and Asynchronous Transfer Mode (ATM).
In the token passing protocol, an individual entity on the network can transmit data packets only when a packet containing a "token" is received. Each station is allotted a limited amount of time before giving up the token to the next station. This provides for "determinism" in that if the maximum number of stations on a given network is known, then it is possible to calculate the maximum delay between the last transmit and the next transmit period for a given station.
According to the CSMA/CD protocol, each station listens to determine whether the network trunk is busy, and then transmits as soon as the "busy" indication goes away. If a collision is detected, a timer set with a random seed is started. When the timer counts down to zero, the station is allowed to transmit again if the line is not busy. If another collision is detected, the timer is set to a larger value. This process continues, with the timer increasing exponentially with each collision, until the station gets access and the problem is resolved.
When information is placed on the network trunk, the information is visible to all stations on the network. Each station on the network reads a header portion of each message to determine whether the station is an intended recipient of the message. The intended recipient of the message reads and processes the message.
Because all of the stations in a CSMA/CD network receive each message anyway, it is as efficient to deliver a message designated for all stations on a network as it is to deliver a message designated for a single station. Messages designated for all stations on a network are referred to as broadcast messages. A broadcast message is sent in the same manner of any other message, but rather than designate an individual destination node, the message contains a broadcast indication. All of the nodes on the network read and process broadcast messages.
For certain situations, the ability to broadcast messages is extremely useful. However, support for broadcast messages also makes CSMA/CD networks more vulnerable to malfunctions. For example, if a node on a CSMA/CD network has a malfunction that causes the node to continuously transmit broadcast messages, then the efficiency of all of the nodes on the network is adversely affected. Specifically, every node on the network is forced to devote processing resources to continuously read and process the constant flow of spurious broadcast messages. This type of network problem is referred to as a broadcast storm.
According to ATM protocol, cells or frames consisting of cells of information are transmitted from a source node to a destination node through a "connection." A connection consists of a pathway through a digital network. A digital network is constructed of digital switches coupled together by digital communication lines. Each cell originates at a source node and is transmitted across the communications lines. The communication lines carry the cells of information between the digital switches along the connection pathway. Prior to communicating with another entity over an ATM network, an entity must first cause the digital switches to establish a pathway between itself and the intended recipient of the message. Once the connection is established, the entity transmits cells that contain the message onto communication lines that connect the entity with the digital network. The digital switches route the cells from incoming communication lines to outgoing communication lines and finally to the destination node.
ATM does not directly support broadcast messages. To emulate the broadcast function provided by CSMA/CD networks, LAN emulation servers have been developed. ALAN emulation server is an agent that runs on a node of the ATM network. To emulate broadcast messages, connections are established between the node containing the LAN emulation server and all of the nodes that are to receive the broadcast messages. The nodes that will receive the broadcast messages are collectively referred to as a "emulated LAN". To "broadcast" a message, an entity on the emulated LAN transmits the message over the ATM connection to the LAN emulation server. The LAN emulation server receives the message and retransmits the message on the connections established between the LAN emulation server and the members of the emulated LAN.
As explained above, LAN emulation servers combine the functionality of broadcast messaging with the increased throughput provided by ATM technology. However, with the benefits of broadcast messaging comes the problem of broadcast storms. For example, one of the nodes on an emulated LAN may constantly transmit broadcast messages to a LAN emulation server due to a malfunction or misconfiguration. The efficiency of the LAN emulation server would be diminished as it attempts to process all of the messages from the malfunctioning node. Further, the LAN emulation server processes the broadcast messages by retransmitting them on the various connections between it and the members of the emulated LAN. This flood of messages may consume a large amount of the capacity of the digital network, slowing all network communications. Further, all of the nodes on the emulated LAN will have to continuously receive and process the messages generated by the LAN emulation server.
In light of the foregoing, it is clearly desirable to provide an apparatus and method for detecting and protecting against broadcast storms. It is further desirable to provide a method and apparatus that allows selection between various broadcast storm handling procedures. It is further desirable to provide a broadcast storm detection system that allows a user to designate what conditions constitute broadcast storms.